Pular para o conteúdo

[C] POSIX Threads

O foco deste programa é fazer com que o processo filho criado por fork() não seja terminado quando o processo pai termina, e para isso, usei threads. Para terminar o programa, digite no terminal:

kill <child_pid>

O child_pid é mostrado ao usuário quando o programa é executado. Bem legal :)
Enzo de Brito Ferber EnzoFerber
Hits: 7.133 Categoria: C/C++ Subcategoria: Avançado
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

O foco deste programa é fazer com que o processo filho criado por fork() não seja terminado quando o processo pai termina, e para isso, usei threads. Para terminar o programa, digite no terminal:

kill <child_pid>

O child_pid é mostrado ao usuário quando o programa é executado. Bem legal :)
Download pthread2.c Enviar nova versão

Esconder código-fonte

// pthread2.c

/*
 * Enzo Ferber : <enzo@veloxmail.com.br>
 *
 * POSIX Threads Test 2
 * @ Exit parent and go on with child.
 *
 * $ gcc -lpthread -o pthread2 pthread2.c
 */

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>    // getpid
#include <pthread.h>   // POSIX Threads
#include <sys/types.h>    // getpid

// child in infinite loop
void *childfunction ( void *ptr )
{
   pthread_t self = pthread_self ();
   pthread_detach ( self );

   for ( ; ; )
   {
      printf ( "[*] Here I am again ... \n");
      sleep (2);
   }
}

// main function
int main ( int argc, char *argv[] )
{
   pthread_t child;
   int cret; // child pthread_create () return 

   // child
   if ( !fork() )
   {
      printf ( "[*] Child proccess begining ... \n" );
      cret = pthread_create ( &child, NULL, childfunction, NULL );

      printf ( "[*] Child PID: %d\n", getpid () );

      pthread_join ( child, NULL );
   }
   // parent
   else
   {
      printf ( "[*] Parent PID: %d\n", getpid () );
      printf ( "[*] Aborting parent ...\n" );

      exit (0);
   }

   // end main
   return 0;
}
// EoF

Árvore AVL, usando arquivos para armazenamento de dados

Leds da porta paralela com interface

1o. joguinho Labirinto (com graficos).c

Driver ATI que funciona

Script MakePach para correção de platarforma 32 bits para 64

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.